class Stack {
  constructor() {
    this.items = []
  }
  //push(element) 添加一个新的元素到栈顶位置
  push(element) {
    this.items.push(element);
  }
  //pop() 移除栈顶的元素，同时返回被移除的元素(出栈)       pop() 方法用于删除并返回数组的最后一个元素。
  pop() {
    return this.items.pop();
  }
  //peek() 返回栈顶元素，不对栈做任何修改（这个方法不会移除栈顶的元素，仅仅返回它）
  peek() {

    if(this.isEmpty()) return null
    return this.items[this.items.length - 1];
  }
  //isEmpty() 如果栈里没有任何元素就返回true,否则返回false
  isEmpty() {
    return this.items.length === 0;
  }
  //size() 返回栈元素的个数
  size() {
    return this.items.length;
  }
}

